1000 Data 129,71,219,90,129,97,219,116,129,124,219,143,129,151,219,170
1001 Data 129,178,219,197,129,205,219,224,129,232,219,251,129,259,219,279
1002 Data 251,71,321,80,251,279,321,288
1003 Data 355,71,445,90,355,97,445,116,355,123,445,142,355,149,445,168
1004 Data 355,175,445,194,355,201,445,220,355,227,445,246
1010 Data 155,69,225,78,154,277,224,287,286,258,316,288,408,258,438,288,286,69,436,251
2000 Data 9
2001 Data "SCROLL UP",1,5,0,0,0,0,"This will create the scrolling up credits as seen at the end of most programmes."
2002 Data "SCROLL ACROSS",1,6,0,255,0,0,"With this the credits will scroll from right to left of the screen. "
2003 Data "PLACE TEXT",1,1000,0,255,0,0,"This will allow credits to be placed on screen one after another."
2004 Data "PLACE & MIX",1,1000,0,255,1,65535,"Same as PLACE TEXT but this will disolve from the new text into the old text at the specifed bits at a time."
2005 Data "BOUNCE TEXT",1,1000,0,255,12,30,"This creates a text screen which will bounce into place from above."
2006 Data "DPAINT ANIM",0,1000,1,200,0,0,"Allows you to load and play a DPAINT animation file."
2007 Data "SCREEN FXS 1",0,0,0,0,1,1000,"This will load, wipe in and out screens."
2008 Data "",0,0,0,0,0,0,""
2009 Data "",0,0,0,0,0,0,""
'2010 Data "",0,0,0,0,0,0,""
2100 Data 159,100,229,109,160,140,229,149
2101 Data 158,166,201,188
2102 Data 373,106,387,120,393,106,406,120,411,106,425,120,430,106,444,120,373,125,387,139,393,125,406,139,411,125,425,139,430,125,444,139
2103 Data 294,114,299,122,294,135,299,143
2104 Data 321,114,326,122,321,135,326,143
2105 Data 347,114,352,122,347,135,352,143
2106 Data 220,203,237,222,243,203,260,222,266,203,283,222
2107 Data 341,203,358,222,364,203,380,222,387,203,404,222,411,203,427,222
2108 Data 143,210,213,219,144,275,214,284
2109 Data 221,275,291,285,298,275,369,285,375,275,445,285
2200 Data 266,147,275,158,266,261,275,272,408,268,439,297,232,122,282,134
2201 Data 266,147,275,158,266,261,275,272,408,268,439,297,232,122,282,134,388,122,445,134
2300 Data 132,77,163,108,175,77,206,108,404,150,435,181,266,154,278,166
2301 Data 286,172,298,184,266,190,278,202,247,172,259,184,370,234,415,260
2400 Data 252,117,440,130,320,182,370,195,383,182,434,195,321,237,371,250,384,237,434,250,370,268,420,281
2401 Data 216,267,327,281
3000 Data "Better grab some fonts then so thatyou can continue. (rat key)"
3001 Data "Compiling a font list. Mouse key tostart."
3002 Data "Not saved. Mouse key to continue."
3003 Data "TT2 only supports MED."
3004 Data "Out of range."
3005 Data "Not a TT2 program!"
3006 Data "Delete line. Left Rat to Continue Right Rat to Cancel"
3007 Data "Out of BUFFER SPACE!!! Increase Buffer."
3008 Data "Out of Memory!!!"
3009 Data "Program will be lost!!! Left Rat to Continue Right Rat to Cancel"
3010 Data "Clear Line. Left Rat to Continue Right Rat to Cancel"
3011 Data "Insert a line. Data may be lost!! Left Rat to Continue Right Rat to Cancel"
3999 Data "**","**"
4000 Data "X-SHUTTER R"
4001 Data "Y-SHUTTER D"
4002 Data "X-SHUTTER L"
4003 Data "Y-SHUTTER U"
4004 Data "RIGHT SLIDE"
4005 Data "LEFT SLIDE"
4006 Data "MELT DOWN"
4007 Data "BOX OUT C"
4008 Data "BOX OUT TC"
4009 Data "BOX OUT BC"
4010 Data "BOX OUT LT"
4011 Data "BOX OUT LB"
4012 Data "BOX OUT LC"
4013 Data "BOX OUT RT"
4014 Data "BOX OUT RB"
4015 Data "BOX OUT RC"
4999 Data "**","**"
'the procs for the commands
TEST:
'this justs runs a line
Gosub TEST1
TIME=Timer
F=TIME/3000
TIME$=Str$(TIME/3000)+"M:"
If F>0 Then TIME=TIME-(F*3000)
F=TIME/50
TIME$=TIME$+Str$(F)+"S"
Return
TEST1:
PCONT=0
'sorts out the font names with numbers
For F=1 To LINES
For G=1 To BUFF
SA1$=FO$(F,G)
If Len(SA1$)=0 Then Goto CT9
SA1=1
CT7:
If Font$(SA1)=SA1$ Then FO(F,G)=SA1 : Set Font SA1 : Goto CT9
Inc SA1
Goto CT7
CT9:
Next G
Next F
Timer=0
SA1$=PR$(LINE)
If SA1$="" Then Set Text 0 : Return
For F=1 To COM
If CO$(F)=SA1$ Then Goto CT2
Next F
Stop
CT2:
SA1$=Str$(F)
SA1=Len(SA1$) : Dec SA1
SA$="PRO"+Right$(SA1$,SA1)
For F=BUFF To 1 Step -1
If Len(DA$(LINE,F))=0 Then Next F
DEND=F
DLINE=1
Screen Open 7,320,256,8,L : Curs Off : Hide On : Flash Off
For F=0 To 7 : Colour F,CLR(0) : Next F : Colour Back(CLR(0)) : Cls : Wait Vbl
Gosub SA$
Set Text 0
Return
PRORUN:
'this runs the prog
'sorts out the font names with numbers
PCONT=0
For F=1 To LINES
For G=1 To BUFF
SA1$=FO$(F,G)
If Len(SA1$)=0 Then Goto PCT9
SA1=1
PCT7:
If Font$(SA1)=SA1$ Then FO(F,G)=SA1 : Set Font SA1 : Goto PCT9
Inc SA1
Goto PCT7
PCT9:
Next G
Next F
Screen Close 0
Screen Open 7,320,256,8,L : Curs Off : Hide On : Flash Off
For F=0 To 7 : Colour F,CLR(0) : Next F : Colour Back(CLR(0)) : Cls : Wait Vbl
Screen To Front 7
If KEYIN$="N" Then Goto PRORUN2
PRORUN1:
Led On
Wait 2
Led Off
Wait 2
If Inkey$="" Then Goto PRORUN1
PRORUN2:
Timer=0
If Length(4)<>0 Then Med Play 4
For PUN=1 To LINES
LINE=PUN
SA1$=PR$(LINE)
' If SA1$="" Then Set Text 0 : Return
For F=1 To COM
If CO$(F)=SA1$ Then Exit
Next F
PCT2:
SA1$=Str$(F)
SA1=Len(SA1$) : Dec SA1
SA$="PRO"+Right$(SA1$,SA1)
DEND=0
For F=BUFF To 1 Step -1
If Len(DA$(LINE,F))<>0 and DEND=0 Then DEND=F
Next F
DLINE=1
Trap Gosub SA$
Set Text 0
If MTET=0 Then Next PUN
TIME=Timer
LINE=1
If KEYOUT$="N" Then Goto PRORUN20
PRORUN19:
Wait Vbl
If Inkey$="" Then Goto PRORUN19
PRORUN20:
Med Stop
F=TIME/3000
TIME$=Str$(TIME/3000)+"M:"
If F>0 Then TIME=TIME-(F*3000)
F=TIME/50
TIME$=TIME$+Str$(F)+"S"
Return
PRO1:
'--------------
'Scroll Up
'--------------
'------
'start
'------
If PCONT=1 Then Screen Close 1 : Screen To Front 0
PCONT=0
Screen Open 1,320,66,8,Lowres : Hide On : Flash Off : Curs Off : Paper 0
Set Font(FO(LINE,DLINE)) : Set Text ST(LINE,DLINE)
R=Text Length("_")
PLEN=Len(Z$)
ST=1
Gosub XUP1
If MTET>0 Then Goto XUP300
Inc DLINE : If DLINE>DEND Then Goto XUP300
Goto XUP90
XUP1:
O$=Mid$(Z$,ST,1)
Gr Writing 0
If H(LINE)>0 Then Ink H(LINE) : Gosub XUP2
Ink KIN : Text 0+SA1,70+Text Base+SA2,O$
R=Text Length(O$)
If F(LINE)>0 Then Add R,F(LINE)
SA4=SP-1
For F=0 To R Step SA4
Screen Offset 0,TT+(3*SP),0
Wait Vbl : Update
Screen Copy 1,F,0,SP+F+1,100 To 0,TT,POS
Screen Copy 1,F,0,SP+F+1,100 To 0,TT2,POS
Screen Copy 1,96-SA4,0,100,100 To 1,F,0
Add TT,SA4 : Add TT2,SA4
If TT>320 Then G=TT : TT=G-321 : TT2=G
If SP1>0 Then Wait SP1
Next F
Gosub MTEST : If MTET>0 Then Return
ST=ST+1 : If ST>PLEN Then Return
Goto XUP1
XUP2:
SA1=0
SA2=0
SA3=0
If F(LINE)<0 Then SA1=-F(LINE) : SA3=1
If G(LINE)<0 Then SA2=-G(LINE) : SA3=1
If SA3=1 Then Text 0,70+Text Base+SA2,O$
If SA3=0 Then Text F(LINE),70+Text Base+G(LINE),O$
Return
XUP300:
SA2=0
XUP301:
SA4=SP-1
For F=0 To R Step SA4
Screen Offset 0,TT+(3*SP),0
Wait Vbl : Update
Screen Copy 1,F,0,SP+F+1,100 To 0,TT,POS
Screen Copy 1,F,0,SP+F+1,100 To 0,TT2,POS
Screen Copy 1,96-SA4,0,100,100 To 1,F,0
Add TT,SA4 : Add TT2,SA4
If TT>320 Then G=TT : TT=G-321 : TT2=G
If SP1>0 Then Wait SP1
Next F
If SA2>120/SP and D(LINE)=2 or SA2>120/SP and D(LINE)=3 Then Screen 0 : Fade E(LINE) To 7 : Screen 1
Add SA2,R
If SA2>=320 Then Return
Goto XUP301
Return
PRO3:
'-----------------------
'Appear between screens2
'-----------------------
If PCONT=1 Then Goto LUP1
Auto View Off
Screen Open 0,320,256,8,Lowres : Hide On : Flash Off : Curs Off : For F=0 To 7 : Colour F,CLR(F) : Next F : Paper 0 : Colour Back(CLR(0)) : Wait Vbl : Cls
Screen Open 1,320,256,8,Lowres : Hide On : Flash Off : Curs Off : For F=0 To 7 : Colour F,CLR(F) : Next F : Paper 0 : Colour Back(CLR(0)) : Wait Vbl : Cls
'------
'start
'------
LUP1:
Screen To Front 0
Screen 1 : Cls : Wait Vbl
Screen Hide 1
SSR=B(LINE)
Y10:
Z$=DA$(LINE,DLINE)
KIN=IN(LINE,DLINE)
Ink KIN
Set Font(FO(LINE,DLINE)) : Set Text ST(LINE,DLINE)
Gosub PLUP290
Gosub MTEST
If MTET>0 Then Goto PLUP300
Inc DLINE : If DLINE>DEND Then Goto PLUP300
Goto Y10
PLUP290:
H=Val(Mid$(Font$(FO(LINE,DLINE)),31,3)) : Rem**** Work out font height ****
Gr Writing 0
Ink H(LINE)
If TAT(LINE,DLINE)=1 and H(LINE)>0 Then Text F(LINE)+160-(Text Length(Z$))/2,SSR+Text Base+G(LINE),Z$
If TAT(LINE,DLINE)=0 and H(LINE)>0 Then Text F(LINE)+2,SSR+Text Base+G(LINE),Z$
If TAT(LINE,DLINE)=2 and H(LINE)>0 Then Text F(LINE)+318-(Text Length(Z$)),SSR+Text Base+G(LINE),Z$
Ink KIN
If TAT(LINE,DLINE)=1 Then Text 160-(Text Length(Z$))/2,SSR+Text Base,Z$
If TAT(LINE,DLINE)=0 Then Text 2,SSR+Text Base,Z$
If TAT(LINE,DLINE)=2 Then Text 318-(Text Length(Z$)),SSR+Text Base,Z$
If PR$(LINE)="PLACE & MIX" Then Appear 1 To 0,C(LINE)
If PR$(LINE)="BOUNCE TEXT" Then Gosub PRO5A
SP=A(LINE)
Wait SP
If D(LINE)=3 or D(LINE)=2 Then Fade E(LINE) To 7
Wait E(LINE)*20
PCONT=1
Return
PRO4:
'same as pro3
Gosub PRO3
Return
PRO5:
'same as pro3
Gosub PRO3
Return
PRO5A:
SCRP=C(LINE)
XX=42 : YY=-1
BBUP4:
Screen Display 0,,XX,, : Wait Vbl
YY=YY-1
If XX<-220 Then Goto BBUP5
XX=XX+YY
Goto BBUP4
PRO6:
Screen Open 0,320,256,8,Lowres : Hide On : Flash Off : Curs Off : For F=0 To 7 : Colour F,CLR(F) : Next F : Paper 0 : Colour Back(CLR(0)) : Wait Vbl : Cls
RRR$=DA$(LINE,1)
Open In 1,RRR$
Trap L=Frame Length(1,1000)
If Errtrap>0 Then Gosub MESS2 : Close 1 : Return
Trap Med Stop
Trap Reserve As Work 5,L
If Errtrap>0 Then Close 1 : Return
L=Frame Load(1 To 5,1000)
Close 1
Trap Med Cont
For G=1 To B(LINE)
P=Frame Play(5,1,0)
Double Buffer
For F=2 To L-1
P=Frame Play(P,1)
Screen Swap
Wait Frame Param+1
If A(LINE)>0 Then Wait A(LINE)
Next F
Next G
Return
PRO7:
Trap Screen Close 0
Trap Screen Close 1
Trap Load Iff DA$(LINE,1),1
If Errtrap>0 Then Gosub MESS2 : Return
SA1=Colour(0)
Screen Hide 1
Trap Load Iff DA$(LINE,1),0
Screen Hide 0
Cls 0
Screen 7 : For F=0 To 7 : Colour F,SA1 : Next F : Colour Back(SA1) : Cls : Wait Vbl
Screen 0
Wait Vbl
SA1=Screen Width
SA2=Screen Height
Screen Show 0
Screen Show 1
Screen To Front 0
Screen 0
Wait Vbl
SA1$=Str$(A(LINE))
SA3=Len(SA1$) : Dec SA3
SA$="WIPE"+Right$(SA1$,SA3)
YES=0
Gosub SA$
Screen 1 : Cls 0
Screen 0
Wait C(LINE)
SA1$=Str$(B(LINE))
SA3=Len(SA1$) : Dec SA3
SA$="WIPE"+Right$(SA1$,SA3)
Gosub SA$
Trap Screen Close 0
Trap Screen Close 1
PCONT=0
Screen 7 : For F=0 To 7 : Colour F,CLR(0) : Next F : Colour Back(CLR(0)) : Cls : Wait Vbl
Return
WIPE0:
For F=0 To SA1 Step 2
Screen Copy 1,F,0,F+2,SA2 To 0,F,0
Wait Vbl
Next F
Return
WIPE1:
For F=0 To SA2 Step 2
Screen Copy 1,0,F,SA1,F+2 To 0,0,F
Wait Vbl
Next F
Return
WIPE2:
For F=SA1-2 To 0 Step -2
Screen Copy 1,F,0,F+2,SA2 To 0,F,0
Wait Vbl
Next F
Return
WIPE3:
For F=SA2-2 To 0 Step -2
Screen Copy 1,0,F,SA1,F+2 To 0,0,F
Wait Vbl
Next F
Return
WIPE4:
For F=SA1-2 To 0 Step -2
Screen Copy 1,F,0,SA1,SA2 To 0,0,0
Wait Vbl
Next F
Return
WIPE5:
For F=0 To SA1 Step 2
Screen Copy 1,0,0,F,SA2 To 0,SA1-F,0
Wait Vbl
Next F
Return
WIPE6:
SA4=0
Repeat
For F=0 To SA1 Step 4
SA3=Rnd(8)+SA4
If SA3>SA2 Then SA3=SA2
Screen Copy 1,F,0,F+4,SA3 To 0,F,0
Next F
Add SA4,8
Until SA4=SA2
For F=0 To SA1 Step 4
Screen Copy 1,F,0,F+4,SA2 To 0,F,0
Next F
Return
WIPE7:
SA3=SA1/2
SA4=SA2/2
SA5=2 : SA6=2
WP71:
Screen Copy 1,SA3-SA5,SA4-SA6,SA3+SA5,SA4+SA6 To 0,SA3-SA5,SA4-SA6
' Wait Vbl
Inc SA5 : If SA5>SA3 Then SA5=SA3
Inc SA6 : If SA6>SA4 Then SA6=SA4
If SA5=SA3 and SA6=SA4 Then Goto WP72
Goto WP71
WP72:
Return
WIPE8:
SA3=SA1/2
SA4=8
SA5=2 : SA6=2
WP81:
Screen Copy 1,SA3-SA5,SA4-SA6,SA3+SA5,SA4+SA6 To 0,SA3-SA5,SA4-SA6
' Wait Vbl
Inc SA5 : If SA5>SA3 Then SA5=SA3
Inc SA6 : If SA6>SA2 Then SA6=SA2
If SA5=SA3 and SA6=SA2 Then Goto WP82
Goto WP81
WP82:
Return
WIPE9:
SA3=SA1/2
SA4=SA2-2
SA5=2 : SA6=2
WP91:
Screen Copy 1,SA3-SA5,SA4-SA6,SA3+SA5,SA4+SA6 To 0,SA3-SA5,SA4-SA6
' Wait Vbl
Inc SA5 : If SA5>SA3 Then SA5=SA3
Inc SA6 : If SA6>SA2 Then SA6=SA2
If SA5=SA3 and SA6=SA2 Then Goto WP92
Goto WP91
WP92:
Return
WIPE10:
SA3=2
SA4=2
SA5=2 : SA6=2
WP101:
Screen Copy 1,SA3-SA5,SA4-SA6,SA3+SA5,SA4+SA6 To 0,SA3-SA5,SA4-SA6
' Wait Vbl
Inc SA5 : If SA5>SA1 Then SA5=SA1
Inc SA6 : If SA6>SA2 Then SA6=SA2
If SA5=SA1 and SA6=SA2 Then Goto WP102
Goto WP101
WP102:
Return
WIPE11:
SA3=2
SA4=SA2-2
SA5=2 : SA6=2
WP111:
Screen Copy 1,SA3-SA5,SA4-SA6,SA3+SA5,SA4+SA6 To 0,SA3-SA5,SA4-SA6
' Wait Vbl
Inc SA5 : If SA5>SA1 Then SA5=SA1
Inc SA6 : If SA6>SA2 Then SA6=SA2
If SA5=SA1 and SA6=SA2 Then Goto WP112
Goto WP111
WP112:
Return
WIPE12:
SA3=2
SA4=SA2/2
SA5=2 : SA6=2
WP121:
Screen Copy 1,SA3-SA5,SA4-SA6,SA3+SA5,SA4+SA6 To 0,SA3-SA5,SA4-SA6
' Wait Vbl
Inc SA5 : If SA5>SA1 Then SA5=SA1
Inc SA6 : If SA6>SA2 Then SA6=SA2
If SA5=SA1 and SA6=SA2 Then Goto WP122
Goto WP121
WP122:
Return
WIPE13:
SA3=SA1-2
SA4=2
SA5=2 : SA6=2
WP131:
Screen Copy 1,SA3-SA5,SA4-SA6,SA3+SA5,SA4+SA6 To 0,SA3-SA5,SA4-SA6
' Wait Vbl
Inc SA5 : If SA5>SA1 Then SA5=SA1
Inc SA6 : If SA6>SA2 Then SA6=SA2
If SA5=SA1 and SA6=SA2 Then Goto WP132
Goto WP131
WP132:
Return
WIPE14:
SA3=SA1-2
SA4=SA2-2
SA5=2 : SA6=2
WP141:
Screen Copy 1,SA3-SA5,SA4-SA6,SA3+SA5,SA4+SA6 To 0,SA3-SA5,SA4-SA6
' Wait Vbl
Inc SA5 : If SA5>SA1 Then SA5=SA1
Inc SA6 : If SA6>SA2 Then SA6=SA2
If SA5=SA1 and SA6=SA2 Then Goto WP142
Goto WP141
WP142:
Return
WIPE15:
SA3=SA1-2
SA4=SA2/2
SA5=2 : SA6=2
WP151:
Screen Copy 1,SA3-SA5,SA4-SA6,SA3+SA5,SA4+SA6 To 0,SA3-SA5,SA4-SA6
' Wait Vbl
Inc SA5 : If SA5>SA1 Then SA5=SA1
Inc SA6 : If SA6>SA2 Then SA6=SA2
If SA5=SA1 and SA6=SA2 Then Goto WP152
Goto WP151
WP152:
Return
BBUP5:
Screen Copy 1 To 0
'---------
'do bounce
'---------
XX=-220 : YY=1
BBUP2:
Screen Display 0,,XX,, : Wait Vbl
If YY>0 Then YY=YY+1 : If YY>SCRP Then YY=SCRP
If YY<0 Then YY=YY+1
If XX=42 and YY=0 Then Goto BBUP3
If YY=0 Then YY=1
XX=XX+YY : If XX>42 and YY>0 Then YY=-YY
Goto BBUP2
BBUP3:
Return
'press the mouse key to exit
MTEST:
MTET=Mouse Key
Return
'error printing routine
Procedure MESS
Unpack 13 To 1
Cls 3,9,57 To 311,207
Ink 1 : Gr Writing 0 : Text 16,68,Mid$(ER$(ERR),0,35)
Ink 1 : Gr Writing 0 : Text 16,76,Mid$(ER$(ERR),36,35)
Ink 1 : Gr Writing 0 : Text 16,84,Mid$(ER$(ERR),72,35)
Ink 1 : Gr Writing 0 : Text 16,92,Mid$(ER$(ERR),108,35)
If ERR=5 Then Gosub MELU1
MC=0
While MC=0
MC=Mouse Click
Wait Vbl
Wend
Screen Close 1
Pop Proc
MELU1:
Text 80,84,"Minimum="+Str$(ERMI)
Text 80,92,"Maximum="+Str$(ERMA)
Return
End Proc
MESS2:
Unpack 13 To 1
Cls 3,9,57 To 311,207
Ink 1 : Gr Writing 0 : Text 16,68,Err$(Errtrap)
MC=0
While MC=0
MC=Mouse Click
Wait Vbl
Wend
Screen Close 1
Return
Procedure _GET_FILE
Trap Kill "ram:test"
Trap Dir$=REQ2$
Wait 10
Amos To Back
Wait 10
If Not Exist("ram:req.1") Then Exec "c:copy tt2:tt2_system/req.1 ram:"